package com.dkd.manage.mapper;

import com.dkd.manage.annotation.AutoFill;
import com.dkd.manage.constant.OperationType;
import com.dkd.manage.pojo.dto.VmTypeQueryListDto;
import com.dkd.manage.pojo.entity.VmType;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface VmTypeMapper {


    /**
     * 分页查询设备类型列表
     * @param vmTypeQueryListDto
     * @return
     */
    List<VmType> list(VmTypeQueryListDto vmTypeQueryListDto);


    /**
     * 新增设备类型
     * @param vmType
     * @return
     */
    @AutoFill(OperationType.INSERT)
    Integer add(VmType vmType);

    /**
     * 修改设备类型
     * @param vmType
     * @return
     */
    @AutoFill(OperationType.UPDATE)
    Integer edit(VmType vmType);

    /**
     * 根据id删除设备类型
     * @param ids
     * @return
     */
    Integer deleteVmTypeById(@Param("ids") Long[] ids);

    /**
     * 根据id查询设备类型
     * @param id
     * @return
     */
    @Select("select id, name, model, image, vm_row, vm_col, channel_max_capacity, " +
            "create_by, update_by, create_time, update_time from tb_vm_type where id = #{id}")
    VmType getVmTypeById(Long id);

}
